package com.cc.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.cc.bean.message.MessageBean;
import com.cc.model.Message;
import com.cc.model.MessageExample;

public interface MessageMapper {
    long countByExample(MessageExample example);

    int deleteByExample(MessageExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(Message record);

    int insertSelective(Message record);

    List<Message> selectByExample(MessageExample example);

    Message selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") Message record, @Param("example") MessageExample example);

    int updateByExample(@Param("record") Message record, @Param("example") MessageExample example);

    int updateByPrimaryKeySelective(Message record);

    int updateByPrimaryKey(Message record);
    
    List<MessageBean> selectExtBeanByExample(MessageExample example);

	List<Map> readPlanTaskMessageInfo();
	
	List<MessageBean> selectMsgByGurad(@Param("recipientId")String recipientId,@Param("type")Integer type,@Param("status")Integer status);
	
	List<MessageBean> selectMsgByTask(@Param("recipientId")String recipientId,@Param("typeBe")Integer typeBe,@Param("typeAf")Integer typeAf,@Param("typeSc")Integer typeSc,@Param("status")Integer status);
	
	List<MessageBean> selectMsgByRemind(@Param("recipientId")String recipientId,@Param("typeRe")Integer typeRe,@Param("status")Integer status,@Param("typeMs")Integer typeMs);
	
	List<MessageBean> getRemindMessageByTask(@Param("recipientId")String recipientId,@Param("typeBe")Integer typeBe,@Param("typeAf")Integer typeAf,@Param("typeGu")Integer typeGu,@Param("status")Integer status);
	
	List<MessageBean> getRemindMessageByScore(@Param("recipientId")String recipientId,@Param("typeScore")Integer typeScore,@Param("status")Integer status);
	
}